﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace PIT.Labs.ProjectRepository.Owl2DotNet.Parsers
{
    /// <summary>
    /// Basic interface for an ontology parser.
    /// </summary>
    public interface IOntologyParser
    {
        /// <summary>
        /// Load and parse an ontology
        /// </summary>
        /// <param name="fileName">Path to the file that shall be parsed</param>
        /// <returns>Parsed ontology</returns>
        IOntology Load(String fileName);

        /// <summary>
        /// Load and parse an ontology
        /// </summary>
        /// <param name="uri">URI from wich the ontology can be retrieved</param>
        /// <returns>Parsed ontology</returns>
        IOntology Load(Uri uri);

        /// <summary>
        /// Load and parse an ontology
        /// </summary>
        /// <param name="instream">Stream from wich the ontology can be read</param>
        /// <returns>Parsed ontology</returns>
        IOntology Load(Stream instream);
    }
}
